package com.foredu.fiqs.service;

import java.util.List;

import com.foredu.fiqs.domain.Employee;
import com.foredu.fiqs.domain.Salary;
import com.foredu.fiqs.domain.SalaryItem;
import com.foredu.fiqs.domain.SalaryItemDetail;
import com.foredu.fiqs.domain.SalaryItemDetailType;
import com.foredu.fiqs.domain.SalaryItemType;

/**
 * Description:<br/>
 * 财务数据导入业务逻辑处理类，负责解析Excel格式的财务数据并保存数据<br/>
 * Date:<br/>
 * 2014/5/16<br/>
 * 
 * @author hushigang
 */

public interface IDataImportService {

	/*
	 * Salary对象的事务处理
	 */
	void saveSalary(Salary salary);

	void deleteSalaryById(int id);

	void updateSalary(Salary salary);

	List<Salary> findSalaries();

	Salary findSalaryById(int id);

	/*
	 * SalaryItem对象的事务处理
	 */
	void saveSalaryItem(SalaryItem salaryItem);

	void deleteSalaryItemById(int id);

	void updateSalaryItem(SalaryItem salaryItem);

	List<SalaryItem> findSalaryItems();

	SalaryItem findSalaryItemById(int id);

	/*
	 * SalaryItemDetail对象的事务处理
	 */
	void saveSalaryItemDetail(SalaryItemDetail salaryItemDetail);

	void deleteSalaryItemDetailById(int id);

	void updateSalaryItemDetail(SalaryItemDetail salaryItemDetail);

	List<SalaryItemDetail> findSalaryItemDetails();

	SalaryItemDetail findSalaryItemDetailById(int id);

	/*
	 * SalaryItemType对象的事务处理
	 */
	void saveSalaryItemType(SalaryItemType salaryItemType);

	void deleteSalaryItemTypeById(int id);

	void updateSalaryItemType(SalaryItemType salaryItemType);

	List<SalaryItemType> findSalaryItemTypes();

	SalaryItemType findSalaryItemTypeById(int id);

	/*
	 * SalaryItemDetailType对象的事务处理
	 */
	void saveSalaryItemDetailType(SalaryItemDetailType salaryItemDetailType);

	void deleteSalaryItemDetailTypeById(int id);

	void updateSalaryItemDetailType(SalaryItemDetailType salaryItemDetailType);

	List<SalaryItemDetailType> findSalaryItemDetailTypes();

	SalaryItemDetailType findSalaryItemDetailTypeById(int id);

	/*
	 * Employee对象的事务处理
	 */
	void saveEmployee(Employee employee);

	void deleteEmployeeById(int id);

	void updateEmployee(Employee employee);

	List<Employee> findEmployees();

	Employee findEmployeeById(int id);
	
	//通过empId教职工编号查找Employee对象
	Employee findEmployeeByEmpId(String empId);
}
